package com.qinggeng.project.system.service;

import com.qinggeng.project.system.domain.UserAccountRecord;
import com.qinggeng.project.api.dto.UserAccountRecordDTO;
import com.qinggeng.project.system.domain.vo.ConsumptionDetailsVO;
import com.qinggeng.project.system.domain.vo.WithdrawalVO;
import com.qinggeng.project.system.dto.SysUserAccountRecordDTO;

import java.util.List;

public interface UserAccountRecordService {
    boolean insertUserAccountRecord(UserAccountRecord userAccountRecord);

    //上个月消费的数据
    List<UserAccountRecord> listUserAccountOrderPayByLastMonth(Long userId);

    //这个月消费的数据
    List<UserAccountRecord> listUserAccountOrderPayByThisMonth(Long userId);

    //今年消费记录
    List<UserAccountRecord> listUserAccountOrderPayByThisYear(Long userId);

    //上个月退款数据
    List<UserAccountRecord> listUserAccountOrderRefundByLastMonth(Long userId);

    //这个月退款数据
    List<UserAccountRecord> listUserAccountOrderRefundByThisMonth(Long userId);

    //今年退款数据
    List<UserAccountRecord> listUserAccountOrderRefundByThisYear(Long userId);

    //总计
    String  sunMoney(List<UserAccountRecord> list);

    //消费减去退款
    String  sunMoney(List<UserAccountRecord> list,List<UserAccountRecord> list2);

    //消费明细
    List<ConsumptionDetailsVO> listConsumptionDetails(UserAccountRecordDTO userAccountRecordDTO);
    //转账到零钱明细
    List<UserAccountRecord> listTransferToChangeDetails(UserAccountRecordDTO userAccountRecordDTO);
    //提现明细
    List<WithdrawalVO> listWithdrawalDetails(UserAccountRecordDTO userAccountRecordDTO);

    //后台用的接口
    List<UserAccountRecord> listSysUserAccountRecord(SysUserAccountRecordDTO userAccountRecordDTO);

}
